DShutdown (Dimio's ShutDown)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

La versione aggiornata si trova al seguente Link:

dimio.altervista.org



DESCRIZIONE:
~~~~~~~~~~~~

DShutdown  un'utilit (Freeware) che permette di programmare lo spegnimento del PC locale e/o di altri PC remoti in una LAN su sistemi Windows 9x/NT/2000/XP/2003/VISTA:

1. Dopo un periodo di tempo stabilito.
2. A un'ora specificata.
3. A un'ora specificata di un particolare giorno della settimana/mese/anno.
4. Quando un programma in esecuzione termina.
5. Quando l'utilizzo della CPU da parte di un processo (o di tutti) oltrepassa un dato livello per un dato tempo.
6. Quando l'attivit Internet (upload e/o download) si riduce sotto certi valori per un dato tempo.
7. Quando cade la linea del modem, o di un'altra periferica analoga (scheda di rete etc.).
8. Quando l'utente rimane inattivo per uno specificato lasso di tempo.
9. Quando un pixel sullo schermo cambia il suo colore.
10. Quando un altro programma (o l'utente stesso) fa una richiesta di shutdown.



SHUTDOWN LOCALE:
~~~~~~~~~~~~~~~~

Basta spuntare "LocalHost" nella lista degli IP da spegnere e il PC locale si spegner con le opzioni selezionate.



SHUTDOWN REMOTO:
~~~~~~~~~~~~~~~~

Il modo pi semplice  quello di avviare sul PC locale DShutdown, e sul PC remoto RDShutdown,
(opzionalmente RDShutdown pu essere installato come servizio utilizzando per questo il programma "Install RDShutdown as service.exe", in questo modo lo ShutDown remoto funzioner anche se non si  effettuato il login).

Altrimenti  necessario che DShutdown sia in esecuzione su entrambi i PC:
In quello da spegnere, andr spuntato "Allow remote shutdown of this PC" (oppure mettere nella linea di comando, il parametro /SERVERMODE).

Nell'altro, invece, bisogner inserire in "Elenco dei PC da spegnere" gli IP dei PC che si vogliono spegnere (questo pu anche essere ottenuto con la linea di comando).

Per ogni IP remoto si pu selezionare una combinazione di settaggi (logoff, reboot...) personalizzata per quel dato PC (i settaggi verranno inviati insieme al comando di spegnimento).

Lo ShutDown remoto (volendo) pu essere protetto da una Password, giusto per evitare che senza autorizzazione si possano spegnere i computer degli altri ;-)

Se si utilizza un FireWall pu essere necessario creare una regola che permetta a DShutdown di usare la porta 4444.

Nella lista degli IP remoti si possono anche inserire dei commenti, tipo: "192.168.55.1 (Server K6)", basta che tra l'IP e i commenti ci sia almeno uno spazio.



SHUTDOWN REMOTO ATTRAVERSO INTERNET:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Se si dispone di un Router in grado di supportare l'uPnP e si conosce l'IP esterno del Router stesso,  possibile spegnere un computer inviando il comando tramite Internet.
Per fare ci  necessario spuntare la voce apposita nel menu di RDShutdown oppure, se  DShutdown che fa da server, bisogner spuntare l'opzione uPnP. In questo modo viene mappata automaticamente una porta esterna sul Router in grado di recepire e reindirizzare il comando di spegnimento inviato da DShutdown.



TIPO DI SHUTDOWN:
~~~~~~~~~~~~~~~~~

1. "LOGOFF" fa il semplice logoff.

2. "SHUTDOWN" su Windows NT fa comparire la scritta "Ora  possibile spegnere il computer" cio effettua lo shutdown senza il Power Off. Su Windows 9x, se l'APM/ACPI  supportato, genera il Power Off, altrimenti si comporta come su NT.

3. "POWER OFF" (NT only) Spegne il computer completamente (toglie la corrente).

4. "REBOOT" Riavvia il PC.

5. "FORCE" invece di chiedere ai processi di terminare, li termina immediatamente (di solito si usa solo in casi particolari).
Su NT5 pu essere combinata con l'opzione "FORCE AFTER WAIT" per potenziarne gli effetti.

6. "FORCE IF HUNG" (2000/Xp/2003/VISTA only) Chiede ai processi di terminare, ma se questi, dopo un dato periodo, non rispondono li termina.
E' un'opzione simile alla "FORCE AFTER WAIT", ma  totalmente gestita da windows, per cui, pur garantendo con meno sicurezza che il PC si spegner (manca della potenza della "FORCE AFTER WAIT"), produce uno shutdown perfettamente pulito (visto che  windows a gestirlo),  l'opzione da preferirsi nella maggior parte dei casi.

7. "FORCE AFTER WAIT" serve per ottenere uno ShutDown regolare e sicuro al 100%:
L'opzione permette di avere la certezza che un PC (locale o remoto) si spegner come avviene quando si specifica l'opzione "FORCE" (su NT5 anche di pi) ma, al contrario di questa, permette ai programmi di chiudersi regolarmente.
Infatti a volte capita che un programma si blocchi, che annulli volontariamente lo shutdown o che chieda ostinatamente delle conferme di chiusura rendendo cos impossibile lo spegnimento.
L'opzione genera i seguenti passaggi:
- Manda il segnale di chiusura standard a tutti i processi attivi.
- Attende 3 secondi per dargli tempo di terminare.
- Simula una richiesta di chiusura da parte del sistema ai processi rimasti attivi (in questo modo anche i processi che chiedevano conferme si chiudono).
- Attende 2 secondi per dare anche a questi il tempo di terminare.
- genera uno ShutDown forzato. (ma ormai da forzare sono rimasti solo eventuali processi bloccati).
Su NT5 pu essere combinata con l'opzione "FORCE", in questo caso, nella fase finale, lo shutdown forzato sar ancora pi energico dato che fa uso di funzioni pi a basso livello.

8. "STAND BY" mette il PC in Stand By.

9. "HIBERNATE" mette il PC in ibernazione (se abilitata).

10. "HANGUP" interrompe tutte le connessioni RAS attive (utile per disconnettere il modem da Internet da remoto senza spegnere il PC).

11. "DISABLE LAN ADAPTERS" disabilita le schede di rete attualmente in funzione.

12. "SERVER LESS MODE" serve a spegnere i PC remoti senza la necessit di installare su di essi "RDShutdown" o "DShutdown" configurato come server. E'un'opzione pi limitata che, per funzionare, richiede che l'utente col quale si  loggati esista anche sul PC remoto e possieda i privilegi di shutdown. Su Win9x/NT4, perch funzionino alcune opzioni (in particolare PowerOff e LogOut)  necessario scaricare e installare il pacchetto WMI dal sito Microsoft.

13. "CANCEL IF USER IS LOGGED" (2000/XP/2003/VISTA only) permette di annullare lo shutdown di un PC remoto se su di esso c' un utente loggato (serve per evitare di spegnere un PC remoto se qualcuno ci sta lavorando sopra).

14. "START PROGRAM" Al momento dello ShutDown avvia un programma o apre un file specificato. 

15. "WRITE LOG" prima di spegnere il PC locale scrive un file di LOG contenente la data, l'ora e le opzioni di shutdown selezionate. Ogni volta che il file di log raggiunge i 100KB viene azzerato (ma in pratica ci non accade mai).

16. "SOUND ADVISE" Genera un avviso sonoro di 5 secondi prima dello shutdown. Quindi, se si deselezionano le altre opzioni (Reboot, PowerOff...), DShutdown pu essere utilizzato semplicemente come un Timer sonoro.

17. "ALARM CLOCK" Genera un avviso sonoro simile a quello del "SOUND ADVISE" ma pi prolungato (minuti), in modo da poter fungere da sveglia.

18. "EXIT PROGRAM" In questo modo DShutdown termina quando scatta il timer. Questo pu essere utile, ad esempio, se si vuole che DShutdown ad una certa ora avvii un programma, generi un avviso sonoro o spenga dei PC remoti senza rimanere in esecuzione dopo questi eventi.

19. "WAKE ON LAN" Per accendere uno o pi PC remoti che supportino questa funzione. E' necessario che, quando si seleziona questa opzione la prima volta, il PC remoto sia acceso, altrimenti DShutdown non riuscir ad ottenere il MAC-Address del PC remoto e visualizzer un messaggio di errore.

20. "WAKE UP" Questa opzione consente di "risvegliare" il PC da una modalit di sospensione come l'ibernazione o il "suspend to RAM". Essa pu essere utilizzata come una semplice sveglia, oppure per ottenere uno shutdown completo anche nel caso che il PC locale si trovi in una modalit di sospensione.

I settaggi consigliati per un uso normale sono:
Windows 2000/XP/2003/VISTA ---> "POWEROFF" + "FORCEIFHUNG"
Windows NT4                ---> "POWEROFF"
Windows 9x                 ---> "SHUTDOWN"



OPZIONI GENERALI:
~~~~~~~~~~~~~~~~~

1. "Auto Start" Se dopo aver impostato le varie opzioni si clicca su "Auto Start", al successivo reboot, DShutdown si avvier automaticamente con quelle opzioni specifiche. In questo modo  possibile evitare di utilizzare la linea di comando (che  pi versatile ma anche pi complessa).

2. "Set Default" Imposta le opzioni attualmente selezionate come default per la prossima volta, compresi i comandi che determinano lo shutdown (x es. lo spegnimento tra 10 minuti).

3. "Save settings on exit" Salva i settaggi, ma non i comandi che determinano lo shutdown.



OPZIONI SPECIALI:
~~~~~~~~~~~~~~~~~

1. Possibilit di spegnere il PC quando un altro programma termina (utile per spegnere il PC al termine della compressione di molti files).

2. Possibilit di ottenere lo ShutDown quando cade la connessione (no NT4) o quando il traffico internet si riduce oltre una data soglia per un dato tempo (utile per spegnere il PC al termine di un download).
Ora  anche possibile scegliere la periferica di connessione da monitorare (Modem Analogico, ISDN, ADSL, Scheda di rete, dispositivi virtuali etc.)

3. Possibilit di ottenere lo ShutDown  quando l'utilizzo della CPU da parte di un processo sale o scende sotto un livello stabilito per un periodo di tempo specificato. Utile, ad esempio, per spegnere il PC dopo un operazione di encoding video.

4. Possibilit di spegnere il PC quando uno specificato pixel dello schermo cambia colore per un dato periodo di tempo, utile, ad esempio, per far seguire lo shutdown ad un particolare evento sullo schermo, come una finestra che si chiude, un messaggio che compare o un'icona che cambia colore...



CONDIZIONE AND:
~~~~~~~~~~~~~~~

A lato di ognuna delle principali condizioni di shutdown  presente un piccolo pulsante AND, esso serve ad indicare che tale condizione deve essere necessariamente soddifatta perch possa avvenire lo shutdown.
Per esempio, poniamo che si attivino in contemporanea lo spegnimento alle ore 10:00 e il monitoraggio degli utenti inattivi per 2 minuti, entrambi con l'opzione AND spuntata. Ora, se l'utente non  al PC per pi di 2 minuti, lo shutdown non avverr, perch la condizione del timer delle 10:00 non  ancora stata soddisfatta, una volta passato l'orario indicato, se in quel momento c' un utente al PC lo shutdown verr altres rimandato perch in questo caso  la condizione del monitoraggio degli utenti inattivi a non essere soddisfatta, infine, se l'utente si allontana dal PC per pi di 2 minuti avverr lo shutdown perch tutte le condizioni vincolate dall'AND saranno soddisfatte (le ore 10:00 sono passate e non c' stata nessuna attivit al PC per pi di 2 minuti dopo le 10:00).



GENERAZIONE AUTOMATICA DELLA LINEA Di COMANDO:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Per creare in maniera automatica una linea di comando con le opzioni desiderate procedere come segue:

1. Impostare tutte le opzioni desiderate nell'interfaccia grafica.

2. Cliccare col Destro sull'icona di DShutdown nella TrayBar e scegliere la voce "Create Shortcut do Desktop with this Settings".

Verr creato automaticamente sul Desktop un collegamento a DShutdown con la linea di comando atta a ricreare esattamente tutte le opzioni selezionate, per cui baster fare un doppio click sul collegamento per attivare DShutdown con le opzioni desiderate.
Questo sistema  molto versatile e consente ad esempio di creare tutta una serie di modalit di shutdown per le situazioni pi disparate, ad esempio: "Spegni il pc per download inferiori a 10kb/sec" oppure "Avviso sonoro quando il pc ha finito di elaborare, cio per occupazione CPU inferiore al 10%" e via cos.
Va comunque considerato che, un link, non pu avere una linea di comando pi lunga di 256 caratteri, per cui, se si selezionano troppe opzioni, la linea di comando rischia di venire troncata. In ogni caso, quando si crea il link sul desktop, la linea di comando viene automaticamente copiata negli appunti, per cui questo sistema si pu usare anche solo per ottenere la linea di comando corrispondente alle opzioni attualmente selezionate.



LINEA Di COMANDO:
~~~~~~~~~~~~~~~~~

Volendo  possibile dare le impostazioni nella linea di comando (per esempio in un file batch).

In realt nella maggior parte dei casi si pu ottenere lo stesso risultato impostando i vari parametri e cliccando poi su "AutoStart", infatti quando si seleziona "AutoStart", la linea di comando inserita nell'AutoStart viene anche copiata a scopo informativo nel ClipBoard (questa funzione pu essere usata per creare delle linee di comando personalizzate in automatico).


SINTASSI:
~~~~~~~~

DShutdown.EXE [/Hn] [/Mn] [/DAYn] [/MONTH-n1-n2...] [IP:pcname] [/TYPE] [OPTIONS] [/MODE]

Mn:	n = Minuti
Hn:	n = Ore
DAYn:	n = Giorno della settimana (Mon-Sat) o del mese (1-31)
MONTHn: n = Mese (Jan-Dec | All)
IP:pcname: pcname = nome (o indirizzo IP) di un PC remoto
TYPE:	LOGOFF
	SHUTDOWN
	REBOOT
	FORCE
	POWEROFF
	FORCEIFHUNG
	HIBERNATE            
	STANDBY
	FORCEAFTERWAIT
	HANGUP
	DISABLELAN
	NOPOPUP	
	CANCELIFUSERISLOGGED
	STARTPROGRAM "ProgramPath | FilePath"
	WRITELOG
	SOUNDADVISE
	EXITPROGRAM
	WAKEONLAN:"MAC-Address"
	WAKEUP
OPTIONS:	SAVEONEXIT
	SOUNDSTART
	NORESOLUTIONCHECK
	DIFFERENTPORTSFORCLIENTANDSERVER
MODE:	SHUTDOWNAFTER|SHUTDOWNAT|SHUTDOWNON
          	NOW
	HIDDEN
	SERVERMODE
	NOCOUNTDOWN
	INTERCEPTSHUTDOWN



OPZIONI DA LINEA DI COMANDO:
~~~~~~~~~~~~~~~~~~~~~~~~~~

/AFTERTIME specifica che lo ShutDown si avr dopo un tempo specificato (Default).

/ATTIME specifica che lo ShutDown si avr all'ora specificata

/ONDAY specifica che lo ShutDown si avr in un giorno specificato (della settimana o del mese) e in un ora specificata.
E' possibile spegnere il computer un dato giorno di ogni mese specificando "All" al posto di "Jan", "Feb", "Mar"... 

/NOW Genera uno ShutDown immediato.

/NOCOUNTDOWN far in modo che venga saltato il conteggio finale (10 sec) e il popup della finestra in primo piano.

/HIDDEN far in modo che il programma giri completamente in BackGround (senza nemmeno apparire nell'icona della TrayBar), utile per impedire che l'utente incapace lo disattivi senza volerlo (/HIDDEN comprende /NOCOUNTDOWN).

/SERVERMODE significa che il programma si metter in attesa per lo ShutDown remoto.

/INTERCEPTSHUTDOWN nel momento in cui viene spento il PC locale, in automatico, vengono spenti anche quelli remoti.

/NOPOPUP nel momento dello shutdown (locale o remoto) non compare in primo piano la finestra di DShutdown o il Balloon di RDShutdown.

/IP:pcname Serve per spegnere tramite linea di comando un PC remoto, tutte le opzioni TYPE che seguiranno saranno riferite ad esso, per cui, per esempio, se si vuole spegnere un PC remoto e riavviarne un'altro si dovr impostare: /NOW /IP:192.168.55.2 /poweroff /IP:PcAthlon /reboot

/NORESOLUTIONCHECK fa si che all'avvio non venga fatta la verifica della risoluzione minima necessaria per avviare il programma.



ESEMPI DI SINTASSI:
~~~~~~~~~~~~~~~~~~~

1. Spegnimento immediato del PC locale:
/NOW /PowerOff
 
2. Spegnimento del PC locale fra 5 ore e 8 minuti:
/h5 /m8 /PowerOff

3. Spegnimento immediato di un PC remoto:
/NOW /IP:192.168.55.2 /poweroff

4. Spegnimento del PC locale alle ore 20:30:
/AtTime /h20 /m30 /PowerOff

5. Nasconde l'icona del programma e si mette in attesa per uno ShutDown remoto:
/HIDDEN /SERVERMODE

6. Spegnimento alle 13:00 del PC locale e riavvio di due PC remoti:
/ATTIME /h13 /poweroff /IP:192.168.55.2 /reboot /IP:PcAthlon /reboot



POSSIBILI PROBLEMI:
~~~~~~~~~~~~~~~~~~~

L'opzione "INTERCEPT SHUTDOWN, THEN AS SELECTED" non funziona se lo spegnimento da intercettare  uno spegnimento forzato, infatti in quel caso tutti i programmi (compreso DShutdown) vengono terminati di colpo senza alcuna possibilit di intervento/intercettazione.

Lo spegnimento automatico (cio non la schermata "Ora  possibile spegnere il computer", ma proprio il Power Off) funzioner solo su un PC moderno che supporti lo spegnimento automatico con l'APM/ACPI attivato da BIOS (comunque se quando si esce normalmente da windows il PC si spegne completamente vuol dire che l'APM/ACPI  supportato).

Quando si seleziona "Spegnimento di questo PC da remoto", il programma si mette in attesa del comando di spegnimento sulla porta 4444. Se tale porta  occupata da un altro programma (improbabile ma possibile) non sar possibile selezionare tale casella.



NOTE:
~~~~~
Il programma utilizza la tecnologia UPX (http://upx.sourceforge.net/) per aumentarne la portatilit.



LICENZA:
~~~~~~~~
Il programma viene distribuito con la licenza Freeware. 
Questo, tradotto in due parole, significa: il software  gratuito e potete usarlo come vi pare, anche integrarlo in pacchetti commerciali se volete. Le uniche cose che non sono permesse sono la decompilazione e la modifica dei sorgenti.



PROGRAMMATORI:
~~~~~~~~~~~~~~

Dimitrios Coutsoumbas (Dimio)
E-MAIL : cyberdimio@gmail.com
HOME   : http://dimio.altervista.org/



BETA-TESTERS (In alphabetical order):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fr3ddie (il pi efficiente beta-tester del mondo :-)
Guido2mila
Kanarina
The Fish
WhiteForest